
/*技术 阶乘 n!*/
function factorial(num) {
    if(num<=1) return 1;
    else{
        return num*factorial(num-1);
    }
}
/*三角函数计算,
    fun: 取值:  正: sin,cos,tan 反: asin,acos,atan,hsin..,ahs..
    r: r= 弧度, d=角度
    num= 数值
* */
function trigonometric(fun='sin',num=0,r='r'){
    // 合法的
    let legal=['sin','cos','tan','asin','acos','atan','sinh','cosh','tanh','asinh','acosh','atanh'];
    if(!legal.includes(fun)) return;
    if(r == 'd'){
        num=num*Math.PI/180; // 角度转弧度
    }
    if (typeof num =='string') num=parseInt(num);
    switch (fun) {
        case "sin":return Math.sin(num);
        case "cos":return Math.cos(num);
        case "tan":return Math.tan(num);
        case "asin":return Math.asin(num);
        case "acos":return Math.acos(num);
        case "atan":return Math.atan(num);
        case "sinh":return Math.sinh(num);
        case "cosh":return Math.cosh(num);
        case "tanh":return Math.tanh(num);
        case "asinh":return Math.asinh(num);
        case "acosh":return Math.acosh(num);
        case "atanh":return Math.atanh(num);
    }
}
// 幂运算, 使用es7 语法
function exponentFun(x=0,y=2) {
    return x**y
}
/* 计算 1/x */
function xScoreOne(x) {
    if (x==0){
        return '除数不能为零'
    }
    return 1/x;
}
// 取整或取小数1,如: str=1.25   , state=false=取整数
function getIntegerOrDecimals(str,state=false){
    let tem_arr=str.splice('.');
    if(tem_arr.length == 1){
        return !state?str:'0';
    }
    return tem_arr.pop();
}
// 返回e 的指数
function exp(num){
    return Math.exp(num);
}

// export default {
//     PI:Math.PI,
//     factorial,
//     E:Math.E,
//     exponentFun,
//     trigonometric
// }

